নেস্টেড JSON ডেটা (Nested JSON Data) এমন একটি JSON অবজেক্ট যা অন্যান্য JSON অবজেক্ট বা অ্যারের মধ্যে অন্তর্ভুক্ত থাকে। এই ধরনের ডেটা পার্স করার জন্য আপনাকে JSON এর মধ্যে বিভিন্ন স্তরের ডেটা অ্যাক্সেস করতে হবে। Java-তে Nested JSON Data পার্স করার জন্য সাধারণত JSONObject এবং JSONArray ক্লাস ব্যবহৃত হয়।
এখানে একটি নেস্টেড JSON ডেটা এবং সেটি Java ব্যবহার করে পার্স করার প্রক্রিয়া দেখানো হবে।
১. নেস্টেড JSON ডেটা উদাহরণ
ধরা যাক আমাদের কাছে একটি নেস্টেড JSON ডেটা রয়েছে যা একজন ছাত্রের তথ্য এবং তার বিষয়ের তালিকা ধারণ করে।
{
"student": {
"name": "John Doe",
"age": 21,
"courses": [
{
"course_name": "Mathematics",
"credits": 4
},
{
"course_name": "Computer Science",
"credits": 3
}
]
}
}
এই JSON ডেটায়:
studentএকটি অবজেক্ট, যার মধ্যেname,ageএবংcoursesনামে একটি অ্যারে রয়েছে।coursesঅ্যারে তে দুটি অবজেক্ট রয়েছে, প্রতিটি অবজেক্টেcourse_nameএবংcreditsরয়েছে।
২. Java কোড ব্যবহার করে Nested JSON পার্স করা
এখন, Java-তে JSON পার্স করতে আমরা org.json লাইব্রেরি ব্যবহার করবো। এই লাইব্রেরি ব্যবহার করে আমরা JSON ডেটা পার্স এবং অ্যাক্সেস করতে পারি।
২.১. প্রথমে লাইব্রেরি যোগ করা
আপনার প্রজেক্টে json.jar লাইব্রেরি অন্তর্ভুক্ত করতে হবে। আপনি Maven ব্যবহার করলে নিচের ডিপেনডেন্সি যোগ করতে পারেন:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
২.২. Java কোড
import org.json.JSONArray;
import org.json.JSONObject;
public class NestedJsonParsing {
public static void main(String[] args) {
// Nested JSON String
String jsonData = "{"
+ "\"student\": {"
+ "\"name\": \"John Doe\","
+ "\"age\": 21,"
+ "\"courses\": ["
+ "{\"course_name\": \"Mathematics\", \"credits\": 4},"
+ "{\"course_name\": \"Computer Science\", \"credits\": 3}"
+ "]"
+ "}"
+ "}";
// JSON String থেকে JSONObject তৈরি করা
JSONObject jsonObject = new JSONObject(jsonData);
// student অবজেক্ট অ্যাক্সেস করা
JSONObject student = jsonObject.getJSONObject("student");
// student এর name এবং age অ্যাক্সেস করা
String name = student.getString("name");
int age = student.getInt("age");
System.out.println("Student Name: " + name);
System.out.println("Student Age: " + age);
// courses অ্যারে অ্যাক্সেস করা
JSONArray courses = student.getJSONArray("courses");
// courses অ্যারে থেকে প্রতিটি course অ্যাক্সেস করা
for (int i = 0; i < courses.length(); i++) {
JSONObject course = courses.getJSONObject(i);
String courseName = course.getString("course_name");
int credits = course.getInt("credits");
System.out.println("Course " + (i + 1) + ": " + courseName + ", Credits: " + credits);
}
}
}
২.৩. কোডের ব্যাখ্যা:
JSONObject jsonObject = new JSONObject(jsonData);: JSON স্ট্রিং থেকে একটিJSONObjectতৈরি করা হচ্ছে।getJSONObject("student"): "student" নামক মূল অবজেক্টটি অ্যাক্সেস করা হচ্ছে।getString("name")এবংgetInt("age"):studentঅবজেক্টেরnameএবংageভ্যালু আনা হচ্ছে।JSONArray courses = student.getJSONArray("courses");:coursesনামক অ্যারে অ্যাক্সেস করা হচ্ছে।courses.getJSONObject(i):coursesঅ্যারের প্রতিটি অবজেক্ট থেকেcourse_nameএবংcreditsভ্যালু সংগ্রহ করা হচ্ছে।
২.৪. আউটপুট:
Student Name: John Doe
Student Age: 21
Course 1: Mathematics, Credits: 4
Course 2: Computer Science, Credits: 3
৩. সারাংশ
এটি একটি সাধারণ উদাহরণ ছিল যেখানে একটি নেস্টেড JSON ডেটা থেকে Java ব্যবহার করে ডেটা পার্স করা হয়েছে। আমরা JSONObject এবং JSONArray ব্যবহার করে নেস্টেড JSON অবজেক্ট এবং অ্যারে থেকে তথ্য অ্যাক্সেস করেছি।
JSONObject: JSON অবজেক্টের মান অ্যাক্সেস করতে ব্যবহৃত হয়।JSONArray: JSON অ্যারে থেকে ডেটা অ্যাক্সেস করতে ব্যবহৃত হয়।
এই ধরনের JSON পার্সিং আপনাকে যেকোনো নেস্টেড JSON স্ট্রাকচার থেকে তথ্য নিষ্কাশন করতে সাহায্য করবে, যা বেশিরভাগ আধুনিক ওয়েব সার্ভিসে ব্যবহৃত হয়।
Read more